package com.yky.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * 机构备案表
 * 
 * @author vimesly
 * 
 */

@SuppressWarnings("serial")
@Entity
@Table(name = "work_organization_records")
public class OrganizationRecords implements Serializable {

	private Integer id;

	// 关联省份
	private Organization organization;

	private String regNumber; // 注册号

	// 干细胞备案字段

	// 医疗机构执业许可证书复印件
	private String medicalInstitutionsExequaturPdf; // PDF
	private String medicalInstitutionsExequaturSubject; // 诊疗科目
	private String medicalInstitutionsExequaturStartDate; // 有效期（开始日期）
	private String medicalInstitutionsExequaturEndDate; // 有效期（结束日期）
	private String medicalInstitutionsExequaturRegisterNum; // 登记号

	private String organizationScheme; // 机构干细胞临床研究组织管理体系（框架图）和各部门职责（PDF）

	// 机构干细胞临床研究管理主要责任人
	private String researchManagementPrincipalPdf; // （PDF）
	private String researchManagementPrincipalResponsible; // 负责人
	private String researchManagementPrincipalDuty; // 职务
	private String researchManagementPrincipalProfessional; // 职称
	private String researchManagementPrincipalSpecialty; // 专业
	private String researchManagementPrincipalCertificatePdf; // 执业资格证书（上传）

	// 机构干细胞制剂质量受权人资质
	private String researchManagementAttorneyPdf; // （PDF）
	private String researchManagementAttorneyQualifiedPerson; // 质量受权人姓名
	private String researchManagementAttorneyDuty; // 职务
	private String researchManagementAttorneyProfessional; // 职称
	private String researchManagementAttorneySpecialty; // 专业
	private String researchManagementAttorneyEducation; // 学历
	private String researchManagementAttorneyLimit; // 从事干细胞制剂（或相关产品）制备和质量管理年限
	private String researchManagementAttorneyExperiencePdf; // 从事相关产品过程控制和质量检验工作经历

	// 相关人员接受培训资料
	private String receiveTrainingPdf; // 主要研究人员GCP培训证书
	private String ethicalTrainingPdf; // 主要研究人员伦理培训证书

	// 机构学术委员会
	private String academicPdf; // pdf资料
	private String academicDirectorName; // 主任委员姓名
	private String academicDirectorDuty; // 职务
	private String academicDirectorProfessional; // 职称
	private String academicDirectorSpecialty; // 专业
	private String academicDirectorUnit; // 单位

	// 伦理委员会
	private String ethicalPdf; // pdf资料
	private String ethicalDirectorName; // 主任委员姓名
	private String ethicalDirectorDuty; // 职务
	private String ethicalDirectorProfessional; // 职称
	private String ethicalDirectorSpecialty; // 专业
	private String ethicalDirectorUnit; // 单位

	private String workingSystemPdf; // 相应工作制度和标准操作规范

	// 干细胞制备标准操作规范及人员条件
	private String preparationStandardDevice; // 干细胞制备主要设施设备
	private String preparationStandardPdf; // 标准操作规范资料文件
	private String preparationStandardConditionPdf; // 人员条件

	// 细胞临床研究质量管理文件及风险控制程序和相关文件
	private String studyQualityManagementDocumentPdf; // 质量管理手册
	private String studyQualityManagementDocumentRoutine; // 临床研究工作程序
	private String studyQualityManagementDocumentSheet; // 标准操作规范和试验记录
	private String studyQualityManagementDocumentElse; // 其他

	// 干细胞临床研究审计体系
	private String auditSystemPdf; // 内审（内部质量控制）制度（上传）
	private String auditSystemEvidencePdf; // 证明文件
	private String auditSystemInstitutionPdf;// 外审（外部质量控制）制度（上传）

	// 干细胞评价标准
	private String evaluationCriterionPdf; // （PDF）
	private String evaluationCriterionMonitoringDevice; // 干细胞检测设备设施情况

	private String riskManagementMechanismPdf; // 预防干细胞临床研究风险管理机制

	private String treatmentMeasurePdf; // 预防干细胞临床研究风险处理不良反应、不良事件的措施

	private String otherRelevantInformation; // 其他相关材料（上传）

	private Integer status; // 状态 (-1-草稿箱 0-待审核 1-审核通过 2-审核不通过) 
	private String reason; // 原因

	// 2015-10-27 12:06:10
	private String isSubmitPaperyMaterial; // 是否提交纸质材料

	@Id
	@GeneratedValue
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ManyToOne
	@JoinColumn(name = "organization_id")
	public Organization getOrganization() {
		return organization;
	}

	public void setOrganization(Organization organization) {
		this.organization = organization;
	}

	@Column(name = "organization_scheme")
	public String getOrganizationScheme() {
		return organizationScheme;
	}

	public void setOrganizationScheme(String organizationScheme) {
		this.organizationScheme = organizationScheme;
	}

	@Column(name = "status")
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	@Column(name = "reason")
	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	@Column(name = "reg_number")
	public String getRegNumber() {
		return regNumber;
	}

	public void setRegNumber(String regNumber) {
		this.regNumber = regNumber;
	}

	@Column(name = "is_submit_papery_material")
	public String getIsSubmitPaperyMaterial() {
		return isSubmitPaperyMaterial;
	}

	public void setIsSubmitPaperyMaterial(String isSubmitPaperyMaterial) {
		this.isSubmitPaperyMaterial = isSubmitPaperyMaterial;
	}

	@Column(name = "medical_institutions_exequatur_pdf")
	public String getMedicalInstitutionsExequaturPdf() {
		return medicalInstitutionsExequaturPdf;
	}

	public void setMedicalInstitutionsExequaturPdf(
			String medicalInstitutionsExequaturPdf) {
		this.medicalInstitutionsExequaturPdf = medicalInstitutionsExequaturPdf;
	}

	@Column(name = "medical_institutions_exequatur_subject")
	public String getMedicalInstitutionsExequaturSubject() {
		return medicalInstitutionsExequaturSubject;
	}

	public void setMedicalInstitutionsExequaturSubject(
			String medicalInstitutionsExequaturSubject) {
		this.medicalInstitutionsExequaturSubject = medicalInstitutionsExequaturSubject;
	}

	@Column(name = "medical_institutions_exequatur_start_date")
	public String getMedicalInstitutionsExequaturStartDate() {
		return medicalInstitutionsExequaturStartDate;
	}

	public void setMedicalInstitutionsExequaturStartDate(
			String medicalInstitutionsExequaturStartDate) {
		this.medicalInstitutionsExequaturStartDate = medicalInstitutionsExequaturStartDate;
	}

	@Column(name = "medical_institutions_exequatur_end_date")
	public String getMedicalInstitutionsExequaturEndDate() {
		return medicalInstitutionsExequaturEndDate;
	}

	public void setMedicalInstitutionsExequaturEndDate(
			String medicalInstitutionsExequaturEndDate) {
		this.medicalInstitutionsExequaturEndDate = medicalInstitutionsExequaturEndDate;
	}

	@Column(name = "medical_institutions_exequatur_register_num")
	public String getMedicalInstitutionsExequaturRegisterNum() {
		return medicalInstitutionsExequaturRegisterNum;
	}

	public void setMedicalInstitutionsExequaturRegisterNum(
			String medicalInstitutionsExequaturRegisterNum) {
		this.medicalInstitutionsExequaturRegisterNum = medicalInstitutionsExequaturRegisterNum;
	}

	@Column(name = "research_management_principal_pdf")
	public String getResearchManagementPrincipalPdf() {
		return researchManagementPrincipalPdf;
	}

	public void setResearchManagementPrincipalPdf(
			String researchManagementPrincipalPdf) {
		this.researchManagementPrincipalPdf = researchManagementPrincipalPdf;
	}

	@Column(name = "research_management_principal_responsible")
	public String getResearchManagementPrincipalResponsible() {
		return researchManagementPrincipalResponsible;
	}

	public void setResearchManagementPrincipalResponsible(
			String researchManagementPrincipalResponsible) {
		this.researchManagementPrincipalResponsible = researchManagementPrincipalResponsible;
	}

	@Column(name = "research_management_attorney_pdf")
	public String getResearchManagementAttorneyPdf() {
		return researchManagementAttorneyPdf;
	}

	public void setResearchManagementAttorneyPdf(
			String researchManagementAttorneyPdf) {
		this.researchManagementAttorneyPdf = researchManagementAttorneyPdf;
	}

	@Column(name = "research_management_attorney_qualified_person")
	public String getResearchManagementAttorneyQualifiedPerson() {
		return researchManagementAttorneyQualifiedPerson;
	}

	public void setResearchManagementAttorneyQualifiedPerson(
			String researchManagementAttorneyQualifiedPerson) {
		this.researchManagementAttorneyQualifiedPerson = researchManagementAttorneyQualifiedPerson;
	}

	@Column(name = "receive_training_pdf")
	public String getReceiveTrainingPdf() {
		return receiveTrainingPdf;
	}

	public void setReceiveTrainingPdf(String receiveTrainingPdf) {
		this.receiveTrainingPdf = receiveTrainingPdf;
	}

	@Column(name = "working_system_pdf")
	public String getWorkingSystemPdf() {
		return workingSystemPdf;
	}

	public void setWorkingSystemPdf(String workingSystemPdf) {
		this.workingSystemPdf = workingSystemPdf;
	}

	@Column(name = "preparation_standard_pdf")
	public String getPreparationStandardPdf() {
		return preparationStandardPdf;
	}

	public void setPreparationStandardPdf(String preparationStandardPdf) {
		this.preparationStandardPdf = preparationStandardPdf;
	}

	@Column(name = "study_quality_management_document_pdf")
	public String getStudyQualityManagementDocumentPdf() {
		return studyQualityManagementDocumentPdf;
	}

	public void setStudyQualityManagementDocumentPdf(
			String studyQualityManagementDocumentPdf) {
		this.studyQualityManagementDocumentPdf = studyQualityManagementDocumentPdf;
	}

	@Column(name = "audit_system_pdf")
	public String getAuditSystemPdf() {
		return auditSystemPdf;
	}

	public void setAuditSystemPdf(String auditSystemPdf) {
		this.auditSystemPdf = auditSystemPdf;
	}

	@Column(name = "evaluation_criterion_pdf")
	public String getEvaluationCriterionPdf() {
		return evaluationCriterionPdf;
	}

	public void setEvaluationCriterionPdf(String evaluationCriterionPdf) {
		this.evaluationCriterionPdf = evaluationCriterionPdf;
	}

	@Column(name = "risk_management_mechanism_pdf")
	public String getRiskManagementMechanismPdf() {
		return riskManagementMechanismPdf;
	}

	public void setRiskManagementMechanismPdf(String riskManagementMechanismPdf) {
		this.riskManagementMechanismPdf = riskManagementMechanismPdf;
	}

	@Column(name = "treatment_measure_pdf")
	public String getTreatmentMeasurePdf() {
		return treatmentMeasurePdf;
	}

	public void setTreatmentMeasurePdf(String treatmentMeasurePdf) {
		this.treatmentMeasurePdf = treatmentMeasurePdf;
	}

	@Column(name = "research_management_principal_duty")
	public String getResearchManagementPrincipalDuty() {
		return researchManagementPrincipalDuty;
	}

	public void setResearchManagementPrincipalDuty(
			String researchManagementPrincipalDuty) {
		this.researchManagementPrincipalDuty = researchManagementPrincipalDuty;
	}

	@Column(name = "research_management_principal_professional")
	public String getResearchManagementPrincipalProfessional() {
		return researchManagementPrincipalProfessional;
	}

	public void setResearchManagementPrincipalProfessional(
			String researchManagementPrincipalProfessional) {
		this.researchManagementPrincipalProfessional = researchManagementPrincipalProfessional;
	}

	@Column(name = "research_management_principal_specialty")
	public String getResearchManagementPrincipalSpecialty() {
		return researchManagementPrincipalSpecialty;
	}

	public void setResearchManagementPrincipalSpecialty(
			String researchManagementPrincipalSpecialty) {
		this.researchManagementPrincipalSpecialty = researchManagementPrincipalSpecialty;
	}

	@Column(name = "research_management_principal_certificate_pdf")
	public String getResearchManagementPrincipalCertificatePdf() {
		return researchManagementPrincipalCertificatePdf;
	}

	public void setResearchManagementPrincipalCertificatePdf(
			String researchManagementPrincipalCertificatePdf) {
		this.researchManagementPrincipalCertificatePdf = researchManagementPrincipalCertificatePdf;
	}

	@Column(name = "research_management_attorney_duty")
	public String getResearchManagementAttorneyDuty() {
		return researchManagementAttorneyDuty;
	}

	public void setResearchManagementAttorneyDuty(
			String researchManagementAttorneyDuty) {
		this.researchManagementAttorneyDuty = researchManagementAttorneyDuty;
	}

	@Column(name = "research_management_attorney_professional")
	public String getResearchManagementAttorneyProfessional() {
		return researchManagementAttorneyProfessional;
	}

	public void setResearchManagementAttorneyProfessional(
			String researchManagementAttorneyProfessional) {
		this.researchManagementAttorneyProfessional = researchManagementAttorneyProfessional;
	}

	@Column(name = "research_management_attorney_specialty")
	public String getResearchManagementAttorneySpecialty() {
		return researchManagementAttorneySpecialty;
	}

	public void setResearchManagementAttorneySpecialty(
			String researchManagementAttorneySpecialty) {
		this.researchManagementAttorneySpecialty = researchManagementAttorneySpecialty;
	}

	@Column(name = "research_management_attorney_education")
	public String getResearchManagementAttorneyEducation() {
		return researchManagementAttorneyEducation;
	}

	public void setResearchManagementAttorneyEducation(
			String researchManagementAttorneyEducation) {
		this.researchManagementAttorneyEducation = researchManagementAttorneyEducation;
	}

	@Column(name = "research_management_attorney_limit")
	public String getResearchManagementAttorneyLimit() {
		return researchManagementAttorneyLimit;
	}

	public void setResearchManagementAttorneyLimit(
			String researchManagementAttorneyLimit) {
		this.researchManagementAttorneyLimit = researchManagementAttorneyLimit;
	}

	@Column(name = "research_management_attorney_experience_pdf")
	public String getResearchManagementAttorneyExperiencePdf() {
		return researchManagementAttorneyExperiencePdf;
	}

	public void setResearchManagementAttorneyExperiencePdf(
			String researchManagementAttorneyExperiencePdf) {
		this.researchManagementAttorneyExperiencePdf = researchManagementAttorneyExperiencePdf;
	}

	@Column(name = "ethical_training_pdf")
	public String getEthicalTrainingPdf() {
		return ethicalTrainingPdf;
	}

	public void setEthicalTrainingPdf(String ethicalTrainingPdf) {
		this.ethicalTrainingPdf = ethicalTrainingPdf;
	}

	@Column(name = "academic_pdf")
	public String getAcademicPdf() {
		return academicPdf;
	}

	public void setAcademicPdf(String academicPdf) {
		this.academicPdf = academicPdf;
	}

	@Column(name = "academic_director_name")
	public String getAcademicDirectorName() {
		return academicDirectorName;
	}

	public void setAcademicDirectorName(String academicDirectorName) {
		this.academicDirectorName = academicDirectorName;
	}

	@Column(name = "academic_director_duty")
	public String getAcademicDirectorDuty() {
		return academicDirectorDuty;
	}

	public void setAcademicDirectorDuty(String academicDirectorDuty) {
		this.academicDirectorDuty = academicDirectorDuty;
	}

	@Column(name = "academic_director_professional")
	public String getAcademicDirectorProfessional() {
		return academicDirectorProfessional;
	}

	public void setAcademicDirectorProfessional(
			String academicDirectorProfessional) {
		this.academicDirectorProfessional = academicDirectorProfessional;
	}

	@Column(name = "academic_director_specialty")
	public String getAcademicDirectorSpecialty() {
		return academicDirectorSpecialty;
	}

	public void setAcademicDirectorSpecialty(String academicDirectorSpecialty) {
		this.academicDirectorSpecialty = academicDirectorSpecialty;
	}

	@Column(name = "academic_director_unit")
	public String getAcademicDirectorUnit() {
		return academicDirectorUnit;
	}

	public void setAcademicDirectorUnit(String academicDirectorUnit) {
		this.academicDirectorUnit = academicDirectorUnit;
	}

	@Column(name = "ethical_pdf")
	public String getEthicalPdf() {
		return ethicalPdf;
	}

	public void setEthicalPdf(String ethicalPdf) {
		this.ethicalPdf = ethicalPdf;
	}

	@Column(name = "ethical_director_name")
	public String getEthicalDirectorName() {
		return ethicalDirectorName;
	}

	public void setEthicalDirectorName(String ethicalDirectorName) {
		this.ethicalDirectorName = ethicalDirectorName;
	}

	@Column(name = "ethical_director_duty")
	public String getEthicalDirectorDuty() {
		return ethicalDirectorDuty;
	}

	public void setEthicalDirectorDuty(String ethicalDirectorDuty) {
		this.ethicalDirectorDuty = ethicalDirectorDuty;
	}

	@Column(name = "ethical_director_professional")
	public String getEthicalDirectorProfessional() {
		return ethicalDirectorProfessional;
	}

	public void setEthicalDirectorProfessional(
			String ethicalDirectorProfessional) {
		this.ethicalDirectorProfessional = ethicalDirectorProfessional;
	}

	@Column(name = "ethical_director_specialty")
	public String getEthicalDirectorSpecialty() {
		return ethicalDirectorSpecialty;
	}

	public void setEthicalDirectorSpecialty(String ethicalDirectorSpecialty) {
		this.ethicalDirectorSpecialty = ethicalDirectorSpecialty;
	}

	@Column(name = "ethical_director_unit")
	public String getEthicalDirectorUnit() {
		return ethicalDirectorUnit;
	}

	public void setEthicalDirectorUnit(String ethicalDirectorUnit) {
		this.ethicalDirectorUnit = ethicalDirectorUnit;
	}

	@Column(name = "preparation_standard_device")
	public String getPreparationStandardDevice() {
		return preparationStandardDevice;
	}

	public void setPreparationStandardDevice(String preparationStandardDevice) {
		this.preparationStandardDevice = preparationStandardDevice;
	}

	@Column(name = "preparation_standard_condition_pdf")
	public String getPreparationStandardConditionPdf() {
		return preparationStandardConditionPdf;
	}

	public void setPreparationStandardConditionPdf(
			String preparationStandardConditionPdf) {
		this.preparationStandardConditionPdf = preparationStandardConditionPdf;
	}

	@Column(name = "studyQuality_management_document_routine")
	public String getStudyQualityManagementDocumentRoutine() {
		return studyQualityManagementDocumentRoutine;
	}

	public void setStudyQualityManagementDocumentRoutine(
			String studyQualityManagementDocumentRoutine) {
		this.studyQualityManagementDocumentRoutine = studyQualityManagementDocumentRoutine;
	}

	@Column(name = "studyQuality_management_document_sheet")
	public String getStudyQualityManagementDocumentSheet() {
		return studyQualityManagementDocumentSheet;
	}

	public void setStudyQualityManagementDocumentSheet(
			String studyQualityManagementDocumentSheet) {
		this.studyQualityManagementDocumentSheet = studyQualityManagementDocumentSheet;
	}

	@Column(name = "studyQuality_management_document_else")
	public String getStudyQualityManagementDocumentElse() {
		return studyQualityManagementDocumentElse;
	}

	public void setStudyQualityManagementDocumentElse(
			String studyQualityManagementDocumentElse) {
		this.studyQualityManagementDocumentElse = studyQualityManagementDocumentElse;
	}

	@Column(name = "audit_system_evidence_pdf")
	public String getAuditSystemEvidencePdf() {
		return auditSystemEvidencePdf;
	}

	public void setAuditSystemEvidencePdf(String auditSystemEvidencePdf) {
		this.auditSystemEvidencePdf = auditSystemEvidencePdf;
	}

	@Column(name = "audit_system_institution_pdf")
	public String getAuditSystemInstitutionPdf() {
		return auditSystemInstitutionPdf;
	}

	public void setAuditSystemInstitutionPdf(String auditSystemInstitutionPdf) {
		this.auditSystemInstitutionPdf = auditSystemInstitutionPdf;
	}

	@Column(name = "evaluation_criterion_monitoring_device")
	public String getEvaluationCriterionMonitoringDevice() {
		return evaluationCriterionMonitoringDevice;
	}

	public void setEvaluationCriterionMonitoringDevice(
			String evaluationCriterionMonitoringDevice) {
		this.evaluationCriterionMonitoringDevice = evaluationCriterionMonitoringDevice;
	}

	@Column(name = "other_relevant_information")
	public String getOtherRelevantInformation() {
		return otherRelevantInformation;
	}

	public void setOtherRelevantInformation(String otherRelevantInformation) {
		this.otherRelevantInformation = otherRelevantInformation;
	}

}
